Застосування хвильового перетворення для обробки сигналів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра захисту інформації

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Цифрова обробка сигналів та зображень
Група:
ЗІД-12

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» кафедра захисту інформації / Звіт про виконання лабораторної роботи №3 на тему: «Застосування хвильового перетворення для обробки сигналів» з курсу «Цифрова обробка сигналів та зображень» Мета роботи: ознайомитися зі змістом хвилькового перетворення, основними можливостями хвилькової обробки реалізованими в програмному пакеті MatLab, отримати навики розрахунку дискретного хвилькового перетворення, декомпозиції сигналу на апроксимуючі та деталізуючі складові, хвилькова очищення сигналів від шумів. Завдання: 1. Ознайомитись з теоретичним матеріалом. 2. Скласти програму в середовищі MatLab згідно завдання. 2.1. Провести очищення сигналу від шуму з використанням хвилькового перетворення відповідно до завдання у табл. 1. табл.1 № Тип вейвлету Рівень розкладу Поріг Тип порогу Масштабування Сигнал  20 (4) Добеші 4-го порядку 5 minimax жорсткий Тип 1 Lab_3_4.mat   Лістинг програми: >> tn=(0:length(signal)-1); % вісь часу >> w_name= 'db4'; % тип вейвлету >> Lev= 5; % рівень розкладу >> type= 'minimaxi'; % поріг >> [L0_D, Hi_D, L0_R, Hi_R]=wfilters(w_name); % розрах-к фільтрів декомпозиції і реконструкції % розрахунок АЧХ фільтрів >> [h_D, f]=freqz(L0_D, 1, 0:0.001:1, 2); >> h1_D=freqz(Hi_D, 1, 0:0.001:1, 2); >> [h_R, f]=freqz(L0_R, 1, 0:0.001:1, 2); >> h1_R=freqz(Hi_R, 1, 0:0.001:1, 2); >> figure(1); plot(f, abs(h_D), f, abs(h1_D)); grid on; % графік АЧХ фільтрів декомпозиції >> figure(2); plot(f, abs(h_R), f, abs(h1_R)); grid on; % графік АЧХ фільтрів реконструкції >> [C, L]=wavedec(signal, Lev, w_name); % хвильковий розклад сигналу >> cA5=appcoef(C, L, w_name, Lev); % добування коефіцієнтів апроксимації сА5 >> [cD5 cD4 cD3 cD2 cD1]=detcoef(C, L, [5 4 3 2 1]);% добування коефіцієнтів деталізації cD5, cD4, сD3, cD2, cD1 % Побудова графіків коефіцієнтів розкладу >> figure(3); >> subplot(611); plot(cA5); grid on; xlim([0 L(1)-1]); ylabel('cA5'); >> subplot(612); plot(cD5); grid on; xlim([0 L(2)-1]); ylabel('cD5'); >> subplot(613); plot(cD4); grid on; xlim([0 L(3)-1]); ylabel('cD4'); >> subplot(614); plot(cD3); grid on; xlim([0 L(4)-1]); ylabel('cD3'); >> subplot(615); plot(cD2); grid on; xlim([0 L(4)-1]); ylabel('cD2'); >> subplot(616); plot(cD1); grid on; xlim([0 L(6)-1]); ylabel('cD1'); >> A5=wrcoef('a', C, L, w_name, 5); % Обчислення апроксимуючої складової А5 >> D5=wrcoef('d', C, L, w_name, 5); % Обчислення деталізуючої складової D5 >> D4=wrcoef('d', C, L, w_name, 4); % Обчислення деталізуючої складової D4 >> D3=wrcoef('d', C, L, w_name, 3); % Обчислення деталізуючої складової D3 >> D2=wrcoef('d', C, L, w_name, 2); % Обчислення деталізуючої складової D2 >> D1=wrcoef('d', C, L, w_name, 1); % Обчислення деталізуючої складової D1 >> L_sig=length(signal); % Розмірність сигналу % Побудова графіків сигналу та його часових складових >> figure(4); >> subplot(711); plot(signal); grid on; xlim([0 L_sig-1]); ylabel('S(n)'); >> subplot(712); plot(A5); grid on; xlim([0 L_sig-1]); ylabel('A5'); >> subplot(713); plot(D5); grid on; xlim([0 L_sig-1]); ylabel('D5'); >> subplot(714); plot(D4); grid on; xlim([0 L_sig-1]); ylabel('D4'); >> subplot(715); plot(D3); grid on; xlim([0 L_sig-1]); ylabel('D3'); >> subplot(716); plot(D2); grid on; xlim([0 L_sig-1]); ylabel('D2'); >> subplot(515); plot(D1); grid on; xlim([0 L_sig-1]); ylabel('D1'); % Оцінка рівня шуму деталізуючих коефіцієнтів >> stdc=wnoisest(C, L, 1); % Обчислення порогу для кожного рівня >> for ii=1:Lev thr(ii)=thselect(detcoef(C, L, ii)/stdc, type); thr(ii)=thr(ii)*stdc; end; % Жорстке порогування коефіцієнтів cD1 >> for ii=1:length(cD1) if (abs(cD1(ii))<thr) cD1(ii)=0; end; end; % Жорстке порогування коефіцієнтів cD2 >> for ii=1:length(cD2) if (abs(cD2(ii))<thr) cD2(ii)=0; end; end; % Жорстке порогування коефіцієнтів cD3 >> for ii=1:length(cD3) if (abs(cD3(ii))<thr) cD3(ii)=0; end; end; % Жорстке порогування коефіцієнтів cD4 >> for ii=1:length(cD4) if (abs(cD4(ii))<thr) cD...
Антиботан аватар за замовчуванням

10.01.2012 16:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини